The invention relates in general to the field of computerized methods for determining an assignment of data to be stored on storage tiers of a tiered storage system, as well as related storage systems and computer programs. In particular, it is directed to a method to determine data assignments at a subtier-level.
Tiered storage relies on assigning different categories of data to various types of storage media in order to reduce the global storage cost. A tiered storage system usually relies on policies that assign most frequently accessed data to high-performance storage tiers, whereas rarely accessed data are stored on low-performance (cheaper) storage tiers.
The read/write performance of a data storage system, typically estimated in terms of throughput or mean response time for a request, depends on the characteristics of the storage devices (e.g., latency and bandwidth), the nature of the input/output (I/O) workload (e.g., the frequency and size of I/O requests to each data object), and on the assignment of data objects across the storage devices. Given a set of storage devices and an I/O workload, the performance of the system depends on the data assignment. Therefore, a carefully chosen data assignment can lead to enhanced performance, whereas improper data assignment can result in poor performance and wastage of storage resources. That is, optimizing data assignment may improve the performance of existing storage resources, under a given workload.
Tiered storage systems are known, which ensure that the amount of data stored on each device of a tier is balanced. Other systems use iterative heuristic approaches to address this problem using IOPS (I/Os per second) as a performance metric by assuming that each I/O request is of a fixed size. Other methods employ load-balancing mechanisms to ensure that the load on each storage device (the load defined as the expected percentage of time a device is busy serving I/O requests) is the same across all devices. Many load-balancing algorithms exist, such as the Greedy-Scheduling algorithm and the Longest Processing Time (LPT) algorithm.